package Libs.Dados.Objetos
{
	import mx.collections.ArrayCollection;
	
	[RemoteClass(alias="Neturion.Dados.Protocolo")]
	public class Protocolo
	{
		private var _protocoloId:int;
        private var _codigo:String;
        private var _dataCadastro:Date;
        private var _protocoloPai:Libs.Dados.Objetos.Protocolo;
        private var _assunto:Libs.Dados.Objetos.Assunto;
        private var _situacaoTramite:Libs.Dados.Objetos.SituacaoTramite ;
        private var _tipoProtocolo:Libs.Dados.Objetos.TipoProtocolo;
        private var _motivoProtocolo:Libs.Dados.Objetos.MotivoProtocolo;
        private var _midia:Libs.Dados.Objetos.Midia;
        private var _interlocutor:Libs.Dados.Objetos.Pessoa;
        private var _funcionarioDestino:Libs.Dados.Objetos.Funcionario;
        private var _setorDestino:Libs.Dados.Objetos.Setor;
        private var _funcionarioCadastro:Libs.Dados.Objetos.Funcionario;
        private var _neturionLog:Libs.Dados.Objetos.NeturionLog;
        private var _listaProtocoloProcedimento:ArrayCollection;
		
		public function Protocolo()
		{
			 this._listaProtocoloProcedimento = new ArrayCollection();
		}
	
        public function get ProtocoloId():int
        {
            return this._protocoloId;
        }

        public function get Codigo():String
        {
            return this._codigo;
        }

        public function get DataCadastro():Date
        {
        	var data:Date = null;
        	if (this._dataCadastro != null)
        	{
        		var dia:Number = _dataCadastro.dateUTC; 
	        	var mes:Number = _dataCadastro.monthUTC; 
	        	var ano:Number = _dataCadastro.fullYearUTC;
	        	data = new Date(ano,mes,dia);
        	}
            return this._dataCadastro = data;
        }

        public function get ProtocoloPai():Libs.Dados.Objetos.Protocolo
        {
            return this._protocoloPai;
        }

        public function get Assunto():Libs.Dados.Objetos.Assunto
        {
            return this._assunto; 
        }

        public function get SituacaoTramite():Libs.Dados.Objetos.SituacaoTramite
        {
            return this._situacaoTramite; 
        }

        public function get TipoProtocolo():Libs.Dados.Objetos.TipoProtocolo
        {
            return this._tipoProtocolo;
        }

        public function get MotivoProtocolo():Libs.Dados.Objetos.MotivoProtocolo
        {
            return this._motivoProtocolo; 
        }

        public function get Midia():Libs.Dados.Objetos.Midia
        {
            return this._midia; 
        }
     
        public function get Interlocutor():Libs.Dados.Objetos.Pessoa
        {
            return this._interlocutor; 
        }

        public function get FuncionarioDestino():Libs.Dados.Objetos.Funcionario
        {
            return this._funcionarioDestino;
        }

        public function get SetorDestino():Libs.Dados.Objetos.Setor
        {
            return this._setorDestino; 
        }

        public function get FuncionarioCadastro():Libs.Dados.Objetos.Funcionario
        {
            return this._funcionarioCadastro; 
        }

        public function get NeturionLog():Libs.Dados.Objetos.NeturionLog
        {
            return this._neturionLog;
        }
 
        public function get ListaProtocoloProcedimento():ArrayCollection
        {
            return this._listaProtocoloProcedimento; 
        }
        
        public function set ProtocoloId(value:int):void
        {
            this._protocoloId=value;
        }
   
        public function set Codigo(value:String):void
        {
            this._codigo=value; 
        }

        public function set DataCadastro(value:Date):void
        {
            this._dataCadastro=value;
        }

        public function set ProtocoloPai(value:Libs.Dados.Objetos.Protocolo):void
        {
            this._protocoloPai=value; 
        }
 
        public function set Assunto(value:Libs.Dados.Objetos.Assunto):void
        {
            this._assunto=value; 
        }
    
        public function set SituacaoTramite(value:Libs.Dados.Objetos.SituacaoTramite):void
        {
            this._situacaoTramite=value;
        }

        public function set TipoProtocolo(value:Libs.Dados.Objetos.TipoProtocolo):void
        {
            this._tipoProtocolo=value;
        }

        public function set MotivoProtocolo(value:Libs.Dados.Objetos.MotivoProtocolo):void
        {
            this._motivoProtocolo=value;
        }

        public function set Midia(value:Libs.Dados.Objetos.Midia):void
        {
            this._midia=value;
        }

        public function set Interlocutor(value:Libs.Dados.Objetos.Pessoa):void
        {
            this._interlocutor=value;
        }

        public function set FuncionarioDestino(value:Libs.Dados.Objetos.Funcionario):void
        {
            this._funcionarioDestino=value;
        }
  
        public function set SetorDestino(value:Libs.Dados.Objetos.Setor):void
        {
            this._setorDestino=value;
        }

        public function set FuncionarioCadastro(value:Libs.Dados.Objetos.Funcionario):void
        {
            this._funcionarioCadastro=value;
        }

        public function set NeturionLog(value:Libs.Dados.Objetos.NeturionLog):void
        {
            this._neturionLog=value;
        }

        public function set ListaProtocoloProcedimento(value:ArrayCollection):void
        {
            this._listaProtocoloProcedimento=value;
        }
	}
}